package sz.com.postoffice.jxyzwgcase.pojo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @ClassName DailyIncome
 * @Deacription 日收入汇总表
 * @Author jmx
 * @Date 2020/11/13 10:52
 * @Version 1.0
 **/
@Data
@NoArgsConstructor
@AllArgsConstructor
@HeadRowHeight(25)
public class DailyIncomeSummary implements Serializable {
    private static final long serialVersionUID = -8131953767212116531L;

    public DailyIncomeSummary(DailyIncome dailyIncome) {
        if (dailyIncome != null) {
            id = dailyIncome.getId();
            userCode = dailyIncome.getUserCode();
            userName = dailyIncome.getUserName();
            standardMailCount = dailyIncome.getStandardMailCount();
            standardMailIncome = dailyIncome.getStandardMailIncome();
            fragmentedMailCount = dailyIncome.getFragmentedMailCount();
            fragmentedMailIncome = dailyIncome.getFragmentedMailIncome();
            expressCount = dailyIncome.getExpressCount();
            expressIncome = dailyIncome.getExpressIncome();
            dailyDelivery = dailyIncome.getDailyDelivery();
            dailyVisit = dailyIncome.getDailyVisit();
            statDate = dailyIncome.getStatDate();
            deptCode= dailyIncome.getDeptCode();
            isVacation = dailyIncome.getIsVacation();
        }
    }

    @ApiModelProperty("id")
    @ExcelIgnore
    private Integer id;

    @ApiModelProperty("收寄员code")
    @ExcelIgnore
    private String userCode;

    @ApiModelProperty("收寄员姓名")
    @ColumnWidth(15)
    @ExcelProperty({"收寄员"})
    private String userName;

    @ApiModelProperty("月计划")
    @ColumnWidth(15)
    @ExcelProperty({"月计划"})
    private Double monthPlanedIncome;

    @ApiModelProperty("标准快递件数")
    @ColumnWidth(20)
    @ExcelProperty({"标准快递件数"})
    private Integer standardMailCount;

    @ApiModelProperty("标准快递收入")
    @ColumnWidth(20)
    @ExcelProperty({"标准快递收入"})
    private Double standardMailIncome;

    @ApiModelProperty("标准快递完成件数")
    @ColumnWidth(25)
    @ExcelProperty({"标准快递完成件数"})
    private Integer standardMailCompletedCount;

    @ApiModelProperty("标准快递完成收入")
    @ColumnWidth(25)
    @ExcelProperty({"标准快递完成收入"})
    private Double standardMailCompletedIncome;

    @ApiModelProperty("散件件数")
    @ColumnWidth(20)
    @ExcelProperty({"散件件数"})
    private Integer fragmentedMailCount;

    @ApiModelProperty("散件收入")
    @ColumnWidth(20)
    @ExcelProperty({"散件收入"})
    private Double fragmentedMailIncome;

    @ApiModelProperty("散件完成件数")
    @ColumnWidth(20)
    @ExcelProperty({"散件完成件数"})
    private Integer fragmentedMailCompletedCount;

    @ApiModelProperty("散件完成收入")
    @ColumnWidth(20)
    @ExcelProperty({"散件完成收入"})
    private Double fragmentedMailCompletedIncome;

    @ApiModelProperty("快递件数")
    @ColumnWidth(20)
    @ExcelProperty({"快递件数"})
    private Integer expressCount;

    @ApiModelProperty("快递收入")
    @ColumnWidth(20)
    @ExcelProperty({"快递收入"})
    private Double expressIncome;

    @ApiModelProperty("快递完成件数")
    @ColumnWidth(20)
    @ExcelProperty({"快递完成件数"})
    private Integer expressCompletedCount;

    @ApiModelProperty("快递完成收入")
    @ColumnWidth(20)
    @ExcelProperty({"快递完成收入"})
    private Double expressCompletedIncome;

    @ApiModelProperty("当日走访客户数")
    @ColumnWidth(20)
    @ExcelProperty({"当日走访客户数"})
    private Integer dailyVisit;

    @ApiModelProperty("当月走访客户数")
    @ColumnWidth(20)
    @ExcelProperty({"当月走访客户数"})
    private Integer monthlyVisit;

    @ApiModelProperty("当日投递总数")
    @ColumnWidth(20)
    @ExcelProperty({"当日投递总数"})
    private Integer dailyDelivery;

    @ApiModelProperty("当月投递总数")
    @ColumnWidth(20)
    @ExcelProperty({"当月投递总数"})
    private Integer monthlyDelivery;

    @ApiModelProperty("统计日期")
    @ExcelIgnore
    private String statDate;

    @ApiModelProperty("营业部Id")
    @ExcelIgnore
    private String deptCode;

    @ApiModelProperty("ado_id")
    @ExcelIgnore
    private String adoId;

    @ApiModelProperty("是否休假")
    @ExcelIgnore
    private Integer isVacation;

    @ExcelIgnore
    private String deptName;
    @ExcelIgnore
    private String provinceName;
    @ExcelIgnore
    private String cityName;
    @ExcelIgnore
    private String countyName;
}
